伺服器虛擬化
1.處理器虛擬化
(3)實作技術
不可虛擬化的計算機上建構超級監督者時,常見的技術與概念:
1.半虛擬化:
為了克服硬體本身不可虛擬化的限制,修改超級監督者對虛擬機器所提供的硬體抽象介面,使虛擬機器面對超級監督者量身訂製的硬體抽象介面。同時虛擬器中的賓客系統也對應的修改,讓賓客系統能意識到超級監督者的存在。
其中有一種常見的方式是"超級呼叫",是利用硬體支援,透過使用者自定義的中斷訊號,由賓客系統主動請求超級監督者協助處理系統事件。
2.二元轉換:
為解決因關鍵指令造成的不可虛擬化特性,而把賓客系統的二元碼轉換成不包含關鍵指令的二元碼區塊,透過一些替代方式與超級監督者合作,完成原本該完成的動作。
(1)靜態二元轉換:
賓客系統被啟動前,就找出關鍵指令所在位置做轉換。但一般情況難以執行。
(2)動態二元轉換
賓客系統被啟動後,根據執行狀況逐步找出位置,避開關鍵指令使賓客系統可以被完整執行。
3.硬體輔助:
傳統處理器使用陷入與仿真模型後主要會有兩個問題,第一個是賓客系統中會有額外的陷入狀況,第二個是關鍵指令被賓客系統呼叫,而超級監督者無法掌握。從硬體輔助的角度解決上述兩個問題,前者是處理器必須重新設計改變控制模型,後者是要在不同模式中重新定義每個指令的語意,才能在不同模式中運行的宿主與賓客系統都正確執行每道指令。這些解決方法都必須修改處理器本身才能達成,目前是由幾個處理器開發的領導公司進行。
1.《雲端計算》 鍾葉青, 鍾武君(2013)。台灣東華書局股份有限公司